<template>
  <div>
    <table class="my-table">
      <thead>
        <tr>
          <!-- <th>编号</th>
          <th>图片</th>
          <th>名称</th>
          <th width="100px">标签</th> -->
          <!-- 用插槽 -->
          <slot name="head"></slot>
        </tr>
      </thead>
      <tbody>
        <!-- 渲染商品  遍历数组  key取每一项的id值  有id最好用id -->
        <tr v-for="item in goods" :key="item.id">
          <!-- ↓动态传值 插槽传值方式 向父组件一个叫row的发送数组的每一项也就是对象 -->
          <slot name="body" :row="item"></slot>
        </tr>
      </tbody>
    </table>
  </div>
</template>

<script>
export default {
  props: {
    goods: {
      type: Array,
      default: () => [],
    },
  },
}
// 第一步 创建一个MyTable的子组件 
// 第二步 父组件引入并且传值 子组件接收整个goods
// 第三步 我们用新学的插槽来做个这个商品数据页面
// 第四步 设置插槽后父组件要用<template></template>来表示插槽位置
// 第五步 给插槽命名 在父组件用#命名后的名字来表示引入的是哪个插槽
// 第六步 我们在子组件里面循环渲染数据  并且新建一个名字为body的插槽
// 第七步 父组件里面原先位置<template></template> 引入body插槽
// 第八步 之前的item遍历在子组件里 父组件没有了 就不能用了 所以我们动态绑定一个名为row值为数组每一项
// 第九步 在父组件#body 后面解构赋值 具体原理忘了
// 第十步 把item变成row 
</script>

<style lang="less">
.my-table {
  width: 100%;
  border-spacing: 0;
  img {
    width: 100px;
    height: 100px;
    object-fit: contain;
    vertical-align: middle;
  }
  th {
    background: #f5f5f5;
    border-bottom: 2px solid #069;
  }
  td {
    border-bottom: 1px dashed #ccc;
  }
  td,
  th {
    text-align: center;
    padding: 10px;
    transition: all 0.5s;
    &.red {
      color: red;
    }
  }
  .none {
    height: 100px;
    line-height: 100px;
    color: #999;
  }
}
</style>
